#ifndef LOGGER_H_
#define LOGGER_H_
#include <stdarg.h>

/**
 * author: Assaf Paz.
 * 
 * initiateLogger
 * 
 * initiate the logger
 */
void initiateLogger();

/**
 * author: Assaf Paz.
 * 
 * logMessage
 * 
 * format - string format to add to the log, same as used in printf
 * ... - variables to fit the format, same as used in printf
 * 
 * add a message to the log
 */
void logMessage(const char* format, ...);

/**
 * author: Assaf Paz.
 * 
 * closeLogger
 * 
 * shutdown the logger
 */
void closeLogger();

/**
 * author: Assaf Paz.
 * 
 * removeUnprintable
 * 
 * oldString - string with unprintable chars
 * size - true size of oldString (to avoid '\0' premature ending)
 * newString - preMalloced result string
 * 
 * remove unprintable chars from a string so will be able to be fully printed.
 * newString is also the returned value
 */
char* removeUnprintable(char* oldString, unsigned int size, char* newString);

#endif /*LOGGER_H_*/
